package com.capybara.account.model.entity;

import com.alibaba.fastjson2.JSONArray;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.capybara.account.base.BaseEntity;
import com.capybara.account.config.MySqlJsonArrayHandler;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.FieldNameConstants;

import java.time.LocalDateTime;

/**
 * 用户
 *
 * @author wgc
 * @since 2024-09-23
 */
@Data
@FieldNameConstants
@TableName("au_user")
@EqualsAndHashCode(callSuper = true)
public class AuUser extends BaseEntity {


    /**
     * 用户名
     */
    private String username;


    /**
     * 密码
     */
    private String password;


    /**
     * 身份证号码
     */
    private String identityCard;


    /**
     * 手机号码
     */
    private String phone;


    /**
     * 小程序ID
     */
    private String openId;


    /**
     * 邮箱
     */
    private String email;


    /**
     * nfc
     */
    private String nfc;


    /**
     * 设备号登录用设备号
     */
    private String deviceId;


    /**
     * 是否已经修改密码
     */
    private Boolean isChangePwd;


    /**
     * 真实姓名
     */
    private String actualName;


    /**
     * 用户头像
     */
    @TableField(typeHandler = MySqlJsonArrayHandler.class)
    private JSONArray headPortrait;


    /**
     * 是否是系统用户
     */
    private Boolean isAccount;


    /**
     * 签字
     */
    private String sign;


    /**
     * 手机识别码IMEI
     */
    private String mobileImei;


    /**
     * 有效期
     */
    private LocalDateTime expiredDate;


    /**
     * 是否锁定
     */
    private Boolean accountNonLocked;


    /**
     * 是否禁用
     */
    private Boolean enabled;
    /**
     * 是系统初始
     */
    private Boolean isSystemInit;

}
